package com.dms.system.mapper;

import java.util.List;
import com.dms.system.domain.SysTodayMission;
import com.dms.system.domain.dto.SysTodayMissionDTO;

/**
 * 每日任务Mapper接口
 * 
 * @author xlong_zhu
 * @date 2021-04-05
 */
public interface SysTodayMissionMapper 
{
    /**
     * 查询每日任务
     * 
     * @param todayMissionId 每日任务ID
     * @return 每日任务
     */
    public SysTodayMission selectSysTodayMissionById(Long todayMissionId);

    /**
     * 查询每日任务列表
     * 
     * @param sysTodayMission 每日任务
     * @return 每日任务集合
     */
    public List<SysTodayMission> selectSysTodayMissionList(SysTodayMission sysTodayMission);

    /**
     * 查询每日任务列表
     * @param sysTodayMission
     * @return 每日任务列表
     * @author xlong_zhu
     * @date 2021/4/6
     */
    public List<SysTodayMissionDTO> selectSysTodayMissionDTOList(SysTodayMissionDTO sysTodayMission);

    /**
     * 查询每日任务列表
     * @param sysTodayMission
     * @param userId
     * @return 每日任务列表
     * @author xlong_zhu
     * @date 2021/4/6
     */
    public List<SysTodayMissionDTO> selectSysTodayMissionDTOList(SysTodayMissionDTO sysTodayMission,Long userId);

    /**
     * 新增每日任务
     * 
     * @param sysTodayMission 每日任务
     * @return 结果
     */
    public int insertSysTodayMission(SysTodayMission sysTodayMission);

    /**
     * 批量向今日任务表中插入数据
     * @param list 今日任务对象数组
     * @return
     * @author xlong_zhu
     * @date 2021/4/5
     */
    public abstract int batchInsertSysTodayMission(List<SysTodayMission> list);

    /**
     * 修改每日任务
     * 
     * @param sysTodayMission 每日任务
     * @return 结果
     */
    public int updateSysTodayMission(SysTodayMission sysTodayMission);

    /**
     * 删除每日任务
     * 
     * @param todayMissionId 每日任务ID
     * @return 结果
     */
    public int deleteSysTodayMissionById(Long todayMissionId);

    /**
     * 批量删除每日任务
     * 
     * @param todayMissionIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteSysTodayMissionByIds(String[] todayMissionIds);

    /**
     * 截断每日任务表
     * @return 返回执行截断操作影响行数
     * @author xlong_zhu
     * @date 2021/4/6
     */
    public abstract int truncateTable();
}
